home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1999 / MacHack 1999.toast / Presentations / STL & Modern C++ / STL2.cp < prev    next >
Encoding:
Text File  |  1999-06-25  |  956 b   |  44 lines  |  [TEXT/CWIE]

  1. // STL2.cp
  2. #include <iostream>
  3. #include <vector>
  4. #include <deque>
  5. #include <cassert>
  6.  
  7. int main()
  8. {
  9.     std::vector<char *>    v;
  10.  
  11.     assert(v.empty());
  12.     v.push_back("sleep");
  13.     v.insert(v.end(), "was");
  14.     assert(v.size() == 2);
  15.     v.push_back("for");
  16.     v.push_back("the");
  17.     v.push_back("weak");
  18.     v.push_back("or");
  19.     v.pop_back();
  20.     v.push_back("and");
  21.     v.push_back("sickly");
  22.     v[1] = "is";        // Used to replace existing: "is" for "was"
  23. //    v[7] = "DOS users";    // Cannot use this notation to add elements.
  24.  
  25.     std::vector<char *>::iterator vi;
  26.     for (vi = v.begin(); vi != v.end(); ++vi)
  27.     {
  28.         std::cout << (*vi) << " ";
  29.     }
  30.     std::cout << std::endl;
  31.  
  32.     typedef std::deque<char *> MyDeque;
  33.     MyDeque    d((v.begin()), (v.end()));
  34.  
  35.     d.erase(d.end() - 3, d.end() - 1);
  36.     d.push_front("MacHack:");
  37.     std::ostream_iterator<char *>out(std::cout, " ");
  38.     std::copy(d.begin(), d.end(), out);
  39.     std::cout << std::endl;
  40. }
  41. // sleep is for the weak and sickly 
  42. // MacHack: sleep is for the sickly 
  43.  
  44.